#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <errno.h>
#include <string.h>

int main()
{
    // 错误2.对动态开辟内存的越界访问
    int *p = malloc(40);
    if(p == NULL){ // 分配失败
        return 0;
    }
    for (int i = 0; i <= 10; i++)
    {
        printf("%d = %d ", i, p[i]); // 此时p[i]是乱码
    }
    printf(" \n ");
    for(int i=0;i<=10;i++){
        p[i] = i;
    }
    for (int i = 0; i <= 100; i++)
    {
        printf("%d ", p[i]);     // 输出0 到 10,第11个开始乱码， 越界访问了
    }
    return 0;
}